﻿/*
 * 设计模式 -  中介者模式
 * 目的: 由中间者来负责对接双方的交互
 *
 * 模型: 房东 <--> 中介 <--> 房客
 */


//中介者模式就是一个像数据库的事务,交易的过程需要保持数据的完整性

User u1 = new User("房东");
User u2 = new User("房客");

Mediator mediator = new Mediator();
mediator.Trade(1000, u1, u2);



class User
{
    public User(string name)
    {
        this.Name = name;
    }
    public string Name { get; set; }

    public decimal Amount { get; set; }
}

class Mediator
{
    public void Trade(decimal amount, User u1, User u2)
    {
        u1.Amount += amount;
        u2.Amount -= amount;
        Console.WriteLine($"{u1.Name}增加了{amount},结余:{u1.Amount}");
        Console.WriteLine($"{u2.Name}增加了{amount},结余:{u2.Amount}");
    }
}